package collection01;

import java.util.ArrayList;
import java.util.Collection;

/*
集合中的移除功能：
     boolean remove(Object o)
          从集合中移除指定的元素，如果移除成功，返回true，否则返回false
          remove()方法依靠集合中的equals()方法比较，如果两个元素调用equals()方法返回true说明存在元素，可以移除，返回true
                  如果集合中所有元素调用equals()与被移除元素比较，都返回false，集合中不存该元素，移除失败，返回false

        Person p1 = new Person("乔峰", 30);
        Person p2 = new Person("阿朱", 20);
        c.add(p1);
        c.add(p2);

        Person p3 = new Person("乔峰", 30);

        System.out.println(c.remove(p3));//首先跟p1比较，p1.equals(p3),如果调用Object里面的equals()方法，默认比较地址值，返回false


        int[] arr = {15,19,21}
        移除19
        移除16
 */
public class CollectionDemo03 {
    public static void main(String[] args) {
        //method01();
        Collection c = new ArrayList();
        Person p1 = new Person("乔峰", 30);
        Person p2 = new Person("阿朱", 20);
        c.add(p1);
        c.add(p2);

        Person p3 = new Person("乔峰", 30);

        System.out.println(c.remove(p3));
        System.out.println(c);
    }

    private static void method01() {
        Collection c = new ArrayList();
        c.add("abc");
        c.add("def");
        System.out.println(c);//[abc, def]

        System.out.println(c.remove("def"));//true

        System.out.println(c);//[abc]
        System.out.println(c.remove("gk"));//false
    }
}
